草庐IT

AtCoder Beginner Contest 262 题解

全部标签

【ACM算法竞赛日常训练】DAY4题解与分析【树】【子序列】| 组合数学 | 动态规划

DAY4共2题:树(组合数学)子序列(dp,数学)?作者:Eriktse?简介:19岁,211计算机在读,现役ACM银牌选手?力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)??原文链接(阅读原文获得更好阅读体验):https://www.eriktse.com/algorithm/1095.html树题目传送门:https://ac.nowcoder.com/acm/problem/13611通过观察条件“一个染色方案是合法的,当且仅当对于所有相同颜色的点对(x,y),x到y的路径上的所有点的颜色都要与x和y相同。”我们可以发现,当且

【ACM算法竞赛日常训练】DAY3题解与分析【旅游】【tokitsukaze and Soldier】

DAY3共2题:旅游tokitsukazeandSoldier?作者:Eriktse?简介:19岁,211计算机在读,现役ACM银牌选手?力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)??原文链接(阅读原文获得更好阅读体验):旅游题目传送门:https://ac.nowcoder.com/acm/problem/15748该题主要考察对树的理解,以及简单的树上dp和贪心算法。我们将会住的节点标记为1,其余不住的节点标记为0。我们可以发现,根节点(s)是一定会标记为1的,那么剩下的节点该怎么分配可以使得标记为1的节点数最多呢?当我们在某

【ACM算法竞赛日常训练】DAY3题解与分析【旅游】【tokitsukaze and Soldier】

DAY3共2题:旅游tokitsukazeandSoldier?作者:Eriktse?简介:19岁,211计算机在读,现役ACM银牌选手?力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)??原文链接(阅读原文获得更好阅读体验):旅游题目传送门:https://ac.nowcoder.com/acm/problem/15748该题主要考察对树的理解,以及简单的树上dp和贪心算法。我们将会住的节点标记为1,其余不住的节点标记为0。我们可以发现,根节点(s)是一定会标记为1的,那么剩下的节点该怎么分配可以使得标记为1的节点数最多呢?当我们在某

【ACM算法竞赛日常训练】DAY3题解与分析【旅游】【tokitsukaze and Soldier】

DAY3共2题:旅游tokitsukazeandSoldier?作者:Eriktse?简介:19岁,211计算机在读,现役ACM银牌选手?力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)??原文链接(阅读原文获得更好阅读体验):旅游题目传送门:https://ac.nowcoder.com/acm/problem/15748该题主要考察对树的理解,以及简单的树上dp和贪心算法。我们将会住的节点标记为1,其余不住的节点标记为0。我们可以发现,根节点(s)是一定会标记为1的,那么剩下的节点该怎么分配可以使得标记为1的节点数最多呢?当我们在某

【ACM算法竞赛日常训练】DAY3题解与分析【旅游】【tokitsukaze and Soldier】

DAY3共2题:旅游tokitsukazeandSoldier?作者:Eriktse?简介:19岁,211计算机在读,现役ACM银牌选手?力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)??原文链接(阅读原文获得更好阅读体验):旅游题目传送门:https://ac.nowcoder.com/acm/problem/15748该题主要考察对树的理解,以及简单的树上dp和贪心算法。我们将会住的节点标记为1,其余不住的节点标记为0。我们可以发现,根节点(s)是一定会标记为1的,那么剩下的节点该怎么分配可以使得标记为1的节点数最多呢?当我们在某

AtCoder ABC 270 题解(D-F)

AtCoderABC270题解(D-F)D-Stones(博弈DP)题目:​ 现在有一堆石子,一个序列a表示每次可以从石头里拿走多少个石子。当无法再拿出石头的时候,游戏结束。两边都以最佳策略游玩,请问先手者最多能拿走几个石子。思路:​ 对于这种两边都采取最佳策略的最优解问题,我们可以很轻易的想到博弈DP的模型。通过记忆化搜索,枚举玩家A拿的所有情况,分割成子问题,取最优解即可。因为对手B也会采取最佳策略,所以减去B拿的最优解就是A所得的最优解。\[f[u]=max\{(f[u],\;a[i]+(u-a[i])-f[u-a[i]]),\;a[i]\leu\};\]实现:​ 建议使用记忆化搜索实现

AtCoder ABC 270 题解(D-F)

AtCoderABC270题解(D-F)D-Stones(博弈DP)题目:​ 现在有一堆石子,一个序列a表示每次可以从石头里拿走多少个石子。当无法再拿出石头的时候,游戏结束。两边都以最佳策略游玩,请问先手者最多能拿走几个石子。思路:​ 对于这种两边都采取最佳策略的最优解问题,我们可以很轻易的想到博弈DP的模型。通过记忆化搜索,枚举玩家A拿的所有情况,分割成子问题,取最优解即可。因为对手B也会采取最佳策略,所以减去B拿的最优解就是A所得的最优解。\[f[u]=max\{(f[u],\;a[i]+(u-a[i])-f[u-a[i]]),\;a[i]\leu\};\]实现:​ 建议使用记忆化搜索实现

Codeforces #821 Div2(A~D2)题解

CF#821Div2AConsecutiveSum题目:​ 选择\(i\)和\(j\),如果\(j=i+xk(x=R)\),可以交换\(i,j\)。任意选择一段长度为k的相加。思路:​ 题目等价于在下标\(mod\)k相同的数中选一个最大的。简单模拟。可以用vis标记或者优先队列。实现:​ 不值一提。voidsolve(){cin>>n>>k;priority_queueq[105];for(inti=0;i>x;q[(i+1)%k].push(x);}llres=0;for(inti=0;iBRuleofLeague(分类讨论)题目:​ 有n个人,他们之间会进行n-1场比赛。将人分成两部分

Codeforces #821 Div2(A~D2)题解

CF#821Div2AConsecutiveSum题目:​ 选择\(i\)和\(j\),如果\(j=i+xk(x=R)\),可以交换\(i,j\)。任意选择一段长度为k的相加。思路:​ 题目等价于在下标\(mod\)k相同的数中选一个最大的。简单模拟。可以用vis标记或者优先队列。实现:​ 不值一提。voidsolve(){cin>>n>>k;priority_queueq[105];for(inti=0;i>x;q[(i+1)%k].push(x);}llres=0;for(inti=0;iBRuleofLeague(分类讨论)题目:​ 有n个人,他们之间会进行n-1场比赛。将人分成两部分

题解 AT5635 Shortest Path on a Line(线段树优化建图)

题解AT5635ShortestPathonaLineupdon2022.9.3:增加了对解法的描述。Description题目传送门题面翻译有一张有\(N\)个点,编号为\(1-N\)的无向图。做\(M\)次操作,每次操作给出三个正整数\(L,R,C\),对于每对\(≥L\)且\(≤R\)的整数对\((S,T)\),在\((S,T)\)之间添加一条长度为\(C\)的边完成操作后,找出操作后无向图的最短路。数据范围$N,M\\leq\10^5$Solution线段树优化建图裸题。建议先完成线段树优化建图模板题CF786B看到区间向区间连边,显然暴力处理是\(O(MN)\)的,会时间超限。那么可